package jmine.tec.rpc.common.serialization;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

import bancosys.tec.persist.base.enumx.StringValuedEnum;

/**
 * @author Rafael (Bankware Java Team)
 * @created 13/04/2007
 */
public class MockStringValueEnum extends StringValuedEnum {

    /**
     * Construtor.
     * 
     * @param name - nome.
     * @param value - valor.
     */
    protected MockStringValueEnum(String name, String value) {
        super(name, value);
    }

    /**
     * @param s s
     * @return enum
     */
    public static MockStringValueEnum getEnum(String s) {
        return (MockStringValueEnum) getEnum(MockStringValueEnum.class, s);
    }

    /**
     * @param s s
     * @return enum
     */
    public static MockStringValueEnum getEnumByValue(String s) {
        return (MockStringValueEnum) getEnumByValue(MockStringValueEnum.class, s);
    }

    /**
     * Retorna um mapa do enum.
     * 
     * @return mapa do enum.
     */
    public static Map getEnumMap() {
        return getEnumMap(MockStringValueEnum.class);
    }

    /**
     * Retorna uma lista do enum.
     * 
     * @return lista do enum.
     */
    public static List getEnumList() {
        return getEnumList(MockStringValueEnum.class);
    }

    /**
     * Retorna um iterator do enum.
     * 
     * @return iterator do enum.
     */
    public static Iterator iterator() {
        return iterator(MockStringValueEnum.class);
    }

    /**
     * Retorna uma representação em string do enum.
     * 
     * @return representação em string do enum.
     */
    @Override
    public String toString() {
        return this.getName();
    }

    /**
     * Retorna o class do enum.
     * 
     * @return class do enum.
     */
    public Class getClassEnum() {
        return MockStringValueEnum.class;
    }
}